Graphical user interface for a robotic surgical system

ABSTRACT

A method, apparatus and computer readable medium for schematically representing a spatial position of an instrument used in a robotic surgery system is disclosed. The instrument includes an end effector coupled to a positioning device for spatially positioning the end effector in a surgical workspace in response to input signals generated by movement of a hand controller of an input device in an input device workspace. The method involves causing a processor circuit to calculate a current three-dimensional spatial position of the instrument within the surgical workspace for current input signals received from the input device. The method also involves causing the processor circuit to generate display signals for displaying a graphical depiction of the surgical workspace on a display in communication with the processor circuit, the graphical depiction including a planar representation includes an instrument movement region having a boundary indicating limitations to transverse movement of the instrument within the surgical workspace, and a two-dimensional projection of the current spatial position of the positioning device and the end effector onto the planar representation.

BACKGROUND 1. Field

This disclosure relates to a surgical robotic systems and moreparticularly to schematically representing a spatial position of aninstrument used in a robotic surgery system.

2. Description of Related Art

In robotic surgery systems a graphical user interface is generally usedto provide alerts and notifications that provide the surgeon withsufficient information to perform surgical tasks. It is common toprovide an image of the surgical site within a patient’s body cavitythat shows both the area where the surgical tasks are being performedand often a portion of the surgical instruments that are deployed toperform the tasks.

SUMMARY

In accordance with one disclosed aspect there is provided a method forschematically representing a spatial position of an instrument used in arobotic surgery system, the instrument including an end effector coupledto a positioning device for spatially positioning the end effector in asurgical workspace in response to input signals generated by movement ofa hand controller of an input device in an input device workspace. Themethod involves causing a processor circuit to calculate a currentthree-dimensional spatial position of the instrument within the surgicalworkspace for current input signals received from the input device. Themethod also involves causing the processor circuit to generate displaysignals for displaying a graphical depiction of the surgical workspaceon a display in communication with the processor circuit, the graphicaldepiction including a planar representation includes an instrumentmovement region having a boundary indicating limitations to transversemovement of the instrument within the surgical workspace, and atwo-dimensional projection of the current spatial position of thepositioning device and the end effector onto the planar representation.

The end effector may be represented by an indicator and the positioningdevice may be represented by an area corresponding to two dimensionalprojected extents of at least a portion of the positioning device.

The method may involve generating the boundary by defining athree-dimensional boundary within the surgical workspace, and generatinga two-dimensional projection of the three-dimensional boundary onto theplanar representation.

The boundary of the instrument movement region may further include atleast one keep-out zone identifying a further limitation to movement ofthe instrument within the surgical workspace.

The keep-out zone may be defined based on at least one of input receivedfrom an operator at an input device and patient imaging data received atthe processor circuit.

The method may further involve, in response to a determination that theinstrument is proximate the boundary of the instrument movement region,causing the processor circuit to display an active constraint indicationat the boundary.

The robotic surgery system may include a plurality of instruments withinthe surgical workspace and displaying the graphical depiction mayinvolve displaying a graphical depiction for each of the plurality ofinstruments.

Displaying the graphical depiction may include displaying the graphicaldepiction at a peripheral region of the display.

The graphical depiction may further include an instrument depth rangeindicating limitations to axial movement of the instrument into thesurgical workspace, an indicator representing a current depth of the endeffector within the instrument depth range, and an input device depthrange representing a portion of the instrument depth range that isaccessible for a current mapping between the input device workspace andthe surgical workspace.

The method may further involve, in response to a determination that theend effector is proximate an end of the input device depth range,causing the processor circuit to display an active constraintindication.

The method may involve receiving an enablement signal at the processorcircuit, the enablement signal having an active state and an inactivestate, the active state permitting movement of the instrument inresponse to the input signals and the inactive state inhibiting movementof the instrument to facilitate repositioning of the hand controllerwithin the input device workspace, and the method may further involve inresponse to the enablement signal transitioning from the active to thein-active state, causing the processor circuit to generate displaysignals for displaying a current hand controller position indicator onthe graphical depiction as offset from the two-dimensional projection ofthe current spatial position of the end effector, and in response to theenablement signal transitioning from the inactive to the active state,discontinuing display of the current hand controller position indicator.

The input signals produced by the input device may include a rotationsignal defining a current rotation of the hand controller, the rotationsignal being operable to cause rotation of the end effector in thesurgical workspace and the graphical depiction may include an instrumentrotation range indicating limitations on rotational movement of theinstrument, an indicator representing a current rotation of the endeffector, and an input device rotation range representing a portion ofthe instrument rotation range that is accessible for a current mappingbetween the input device workspace and the surgical workspace.

The method may involve receiving an enablement signal at the processorcircuit, the enablement signal having an active state and an inactivestate, the active state permitting movement of the instrument inresponse to the input signals and the inactive state inhibiting movementof the instrument to facilitate repositioning of the hand controllerwithin the input device workspace, and the method may further involve inresponse to the enablement signal transitioning from the active to thein-active state, causing the processor circuit to generate displaysignals for displaying a current hand controller rotation indicator onthe graphical depiction as offset from the indicator representing acurrent rotation of the end effector, and in response to the enablementsignal transitioning from the inactive to the active state,discontinuing display of current hand controller rotation indicator.

In accordance with another disclosed aspect there is provided anapparatus for schematically representing a spatial position of aninstrument used in a robotic surgery system, the instrument including anend effector coupled to a positioning device for spatially positioningthe end effector in a surgical workspace in response to input signalsgenerated by movement of a hand controller of an input device in aninput device workspace. The apparatus includes a processor circuitoperably configured to calculate a current three-dimensional spatialposition of the instrument within the surgical workspace for currentinput signals received from the input device, and to generate displaysignals for displaying a graphical depiction of the surgical workspaceon a display in communication with the processor circuit. The graphicaldepiction includes a planar representation including an instrumentmovement region having a boundary indicating limitations to transversemovement of the instrument within the surgical workspace, and atwo-dimensional projection of the current spatial position of thepositioning device and the end effector onto the planar representation.

The processor circuit may be operably configured to display an activeconstraint indication at the boundary in response to a determinationthat the instrument is proximate the boundary of the instrument movementregion.

The graphical depiction may further include an instrument depth rangeindicating limitations to axial movement of the instrument into thesurgical workspace, an indicator representing a current depth of the endeffector within the instrument depth range, and an input device depthrange representing a portion of the instrument depth range that isaccessible for a current mapping between the input device workspace andthe surgical workspace.

The processor circuit may be operably configured to display an activeconstraint indication in response to a determination that the endeffector is proximate an end of the input device depth range.

The processor circuit may be operably configured to receive anenablement signal at the processor circuit, the enablement signal havingan active state and an inactive state, the active state permittingmovement of the instrument in response to the input signals and theinactive state inhibiting movement of the instrument to facilitaterepositioning of the hand controller within the input device workspace,the processor circuit being operably configured to, in response to theenablement signal transitioning from the active to the in-active state,generate display signals for displaying a current hand controllerposition indicator on the graphical depiction as offset from thetwo-dimensional projection of the current spatial position of the endeffector, and in response to the enablement signal transitioning fromthe inactive to the active state, discontinue display of the currenthand controller position indicator.

The input signals produced by the input device include a rotation signaldefining a current rotation of the hand controller, the rotation signalbeing operable to cause rotation of the end effector in the surgicalworkspace and the graphical depiction may include an instrument rotationrange indicating limitations on rotational movement of the instrument,an indicator representing a current rotation of the end effector, and aninput device rotation range representing a portion of the instrumentrotation range that is accessible for a current mapping between theinput device workspace and the surgical workspace.

The processor circuit may be operably configured to receive anenablement signal at the processor circuit, the enablement signal havingan active state and an inactive state, the active state permittingmovement of the instrument in response to the input signals and theinactive state inhibiting movement of the instrument to facilitaterepositioning of the hand controller within the input device workspace,and the processor circuit may be operably configured to, in response tothe enablement signal transitioning from the active to the in-activestate, generate display signals for displaying a current hand controllerrotation indicator on the graphical depiction as offset from theindicator representing a current rotation of the end effector, and inresponse to the enablement signal transitioning from the inactive to theactive state, discontinue display of current hand controller rotationindicator.

In accordance with another disclosed aspect there is provided a computerreadable medium encoded with codes for directing a processor circuit ofa robotic surgery system to represent a spatial position of aninstrument used in a robotic surgery system, the instrument including anend effector coupled to a positioning device for spatially positioningthe end effector in a surgical workspace in response to input signalsgenerated by movement of a hand controller of an input device in aninput device workspace. The codes direct the processor circuit tocalculate a current three-dimensional spatial position of the instrumentwithin the surgical workspace for current input signals received fromthe input device, and to generate display signals for displaying agraphical depiction of the surgical workspace on a display incommunication with the processor circuit, the graphical depictionincluding a planar representation including an instrument movementregion having a boundary indicating limitations to transverse movementof the instrument within the surgical workspace, and a two-dimensionalprojection of the current spatial position of the positioning device andthe end effector onto the planar representation.

Other aspects and features will become apparent to those ordinarilyskilled in the art upon review of the following description of specificdisclosed embodiments in conjunction with the accompanying figures.

BRIEF DESCRIPTION OF THE DRAWINGS

In drawings which illustrate disclosed embodiments,

FIG. 1 is a perspective view of a robotic surgery system;

FIG. 2 is a perspective view of an instrument mount of the roboticsurgery system shown in FIG. 1 ;

FIG. 3 is a block diagram of the processor circuit elements of therobotic surgery system shown in FIG. 1 ;

FIG. 4 is a flowchart depicting blocks of code for directing aworkstation processor circuit shown in FIG. 3 to display arepresentation of a spatial position of an instrument;

FIG. 5 is a schematic view of graphical depictions generated by theworkstation processor circuit shown in FIG. 3 ;

FIG. 6 is a schematic representation of a surgical workspace and aninput device workspace for a right side instrument of the roboticsurgery system shown in FIG. 1 ;

FIG. 7 is a perspective view of a right input device of the roboticsurgery system shown in FIG. 1 ;

FIG. 8 is a perspective view of the right side instrument of the roboticsurgery system shown in FIG. 1 ;

FIG. 9 is a flowchart depicting blocks of code for directing theworkstation processor circuit shown in FIG. 3 to execute a base settingprocess;

FIG. 10 is a flowchart depicting blocks of code for directing theworkstation processor circuit shown in FIG. 3 to execute a process forcalculating the 3D spatial position of the instrument;

FIG. 11 is a further perspective view of the right side instrument ofthe robotic surgery system shown in FIG. 1 in a bent condition;

FIG. 12 is a perspective view of the left and right side instruments ofthe robotic surgery system shown in FIG. 1 ;

FIG. 13 is a flowchart depicting blocks of code for directing theworkstation processor circuit shown in FIG. 3 to execute a process for rgenerating display signals for displaying the graphical depictions shownin FIG. 5 ; and

FIG. 14 are a series of examples of graphical depictions for positionsof the left and right instruments.

DETAILED DESCRIPTION

Referring to FIG. 1 , a robotic surgery system is shown generally at100. The system 100 includes a workstation 102 and an instrument cart104. The instrument cart 104 includes at least one instrument 106mounted on a moveable instrument mount 108 that houses an instrumentdrive for manipulating the instrument. The workstation 102 includes aninput device 110 for use by a surgeon for controlling the instrument 106via the instrument drive to perform surgical operations on a patient.The input device 110 may be implemented using a haptic interfaceavailable from Force Dimension, of Switzerland, for example.

The instrument 106 and instrument mount 108 are shown in more detail inFIG. 2 . Referring to FIG. 2 the instrument 106 includes an insertiontube 202 that is inserted through an incision in a wall of the patient’sabdomen or other body cavity to provide access to a surgical workspacewithin the body cavity. Once inserted into the surgical workspace, theinstrument 106 is deployed as shown in the insert 206 in FIG. 2 . Inthis embodiment the instrument 106 includes a right side instrument 208comprising a positioning device 209 and an end effector 210 and a leftside instrument 212 comprising a positioning device 213 and an endeffector 214.

In the embodiment shown the end effector 210 is a pair of forceps havingopposing moveable gripper jaws 216 controlled by the instrument drivefor grasping tissue, while the end effector 214 is a pair of curveddissecting forceps. The instrument 106 also includes a camera 218deployed on an articulated arm 220 that is able to pan and tilt thecamera. The camera 218 includes a pair of spaced apart image sensors 222and 224 for producing stereoscopic views of the surgical workspace. Theinstruments 208 and 212 and the camera 218 are initially positionedin-line with the insertion tube 202 prior to insertion through theincision and then deployed as shown at 206.

Referring back to FIG. 1 , the input device 110 includes a right inputdevice 116 and a left input device 118. The right input device 116includes a right hand controller 112 and the left input device 118includes a left hand controller 114, the hand controllers beingmechanically coupled to the respective input devices. The workstation102 also includes a workstation processor circuit 120, which is incommunication with the input devices 116 and 118 and the handcontrollers 112 and 114 for receiving input from a surgeon. Theinstrument cart 104 also includes an instrument processor circuit 130for controlling the instrument 106. In this embodiment the instrumentprocessor circuit 130 is in communication with the workstation processorcircuit 120 via an interface cable 132 for transmitting signals betweenthe workstation processor circuit 120 and the instrument processorcircuit 130. In other embodiments communication between the workstationprocessor circuit 120 and the processor circuit 130 may be wireless orvia a computer network, and the workstation 102 and may even be locatedremotely from the instrument cart 104.

The workstation 102 also includes a display 122 in communication withthe workstation processor circuit 120 for displaying real time imagesand/or other graphical depictions of the surgical workspace. In thisembodiment where the camera 218 includes the pair of spaced apart imagesensors 222 and 224, and the display 122 is configured to provideseparate 2D stereoscopic views of the surgical workspace that provide a3D depth effect when viewed through suitable stereoscopic spectaclesworn by the surgeon.

The workstation 102 also includes a footswitch 134, which is actuable bythe surgeon to provide an enablement signal to the workstation processorcircuit 120. The enablement signal has an active state and an inactivestate and in this embodiment depressing the footswitch 134 causes theenablement signal to change from the active state to the inactive state.The active state of the enablement signal permits movement of theinstrument 106 in response to the input signals produced by the inputdevice 110 while the inactive state inhibits movement of the instrument.

The input signals are generated by the left and right input devices 116and 118 in response to movement of the hand controllers 112 and 114 by asurgeon within an input device workspace. The positioning devices 209and 213 associated with the instruments 208 and 212 spatially positionthe respective end effectors 210 and 214 in the surgical workspace inresponse to the input signals.

A block diagram of the processor circuit elements of the system 100 isshown in FIG. 3 . Referring to FIG. 3 the workstation processor circuit120 includes a microprocessor 250. The workstation processor circuit 120also includes a workstation memory 252, a USB interface 254, aninput/output 256 and a motion control interface 258, all of which are incommunication with the microprocessor 250. The input/output 256 includesan input for receiving an enablement signal from the footswitch 134 andan output for producing display signals for driving the display 122.

In this embodiment the input device 110 communicates using a USBprotocol and the USB interface 254 receives input signals produced bythe input device in response to movements of the hand controllers 112and 114. The microprocessor 250 processes the input signals based on acurrent mapping between the input device workspace and the surgicalworkspace and causes the motion control interface 258 to transmitcontrol signals, which are conveyed to the instrument processor circuit130 via the interface cable 132. The mapping may include a scale factorthat scales movements in input device workspace to produce scaledmovements in surgical workspace. For example a 100 mm translation ininput device workspace may be scaled by a scale factor of 0.5 to producea 50 mm movement in surgical workspace for fine movement.

The enablement signal produced by the footswitch 134 is received at theinput/output 256. The workstation memory 252 includes a current buffer320 and a previous buffer 340 including a plurality of stores forstoring values associated with the control signals, as described laterherein.

The instrument processor circuit 130 includes a microprocessor 280, amemory 282, a communications interface 284, and a drive controlinterface 286, all of which are in communication with themicroprocessor. The microprocessor 280 receives the input signals at thecommunications interface 284. The microprocessor 280 processes thecontrol signals and causes the drive control interface 286 to producedrive signals for moving the instruments 208 and 212.

The workstation processor circuit 120 thus acts as a master subsystemfor receiving user input, while the instrument processor circuit 130 andinstruments 208 and 212 act as a slave subsystem in responding to theuser input.

Referring to FIG. 4 , a flowchart depicting blocks of code for directingthe workstation processor circuit 120 to display a representation of aspatial position of the instrument 106 is shown generally at 300. Theblocks generally represent codes that direct the microprocessor 250 toperform various functions. The actual code to implement each block maybe written in any suitable program language, such as C, C++, C#, Java,OpenGL, and/or assembly code, for example.

The process 300 begins at block 302, which directs the microprocessor250 to determine whether the enablement signal is active. If thefootswitch 134 is not currently being depressed then the instruments 208and 212 are under control of the input device 110 and block 302 directsthe microprocessor 250 to block 306. If the footswitch 134 is currentlydepressed then movement of the instrument 106 is inhibited and block 302directs the microprocessor 250 to block 304 to execute a base settingprocess, which will be described later herein. Following the basesetting process at block 304, the microprocessor 250 is directed toblock 306.

Block 306 directs the microprocessor 250 to calculate a currentthree-dimensional (3D) spatial position of the instruments 208 and 212within the surgical workspace for current input signals received fromthe input device 110. Referring back to FIG. 2 , the right sidepositioning device 209 and left side positioning device 213 of theinstruments 208 and 212 are shown actuated to each assume a posture inaccordance with the control signals received at the instrument processorcircuit 130. Similarly the end effectors 210 and 214 are disposed in aposture in accordance with the control signals received at theinstrument processor circuit 130. The 3D spatial position of theinstruments 208 and 212 herein refers to 3D positions of each portion ofinstruments including the positioning devices 209 and 213 and the endeffectors 210 and 214. Details of the calculation of these 3D positionsin surgical workspace are described later herein.

Block 306 then directs the microprocessor 250 to generate displaysignals for displaying a graphical depiction of the surgical workspaceon the display 122. Referring back to FIG. 1 , a right graphicaldepiction 136 is displayed on the display 122 for the right sideinstrument 208. Similarly, a left graphical depiction 138 is displayedfor the left side instrument 212. The graphical depictions 136 and 138are displayed at a peripheral region of the display 122 to preventobscuring a live view 140 of the surgical workspace also displayed onthe display.

Block 308 then directs the microprocessor 250 back to block 302 and theprocess 300 is repeated. In one embodiment the process 300 is repeatedat a frequency of about 1 kHz.

Referring to FIG. 5 , the graphical depictions 136 and 138 are shown inlarger scale in FIG. 5 . The graphical depictions 136 and 138 arepresented as a planar representation including a positioning devicemovement region 400 having a boundary 402 indicating limitations totransverse movements (translation and orientation) of the positioningdevice 209 within the surgical workspace. The graphical depictions 136and 138 also include an end effector movement region 404 having aboundary 406 representing a further region within which the end effector210 is able to move. Even when the positioning device 209 is at theboundary 402, the end effector 210 may still be able to turn outwardlyto access the end effector movement region 404 beyond the positioningdevice movement region 400.

The graphical depictions 136 and 138 also include a two-dimensional (2D)projection of the current spatial position of the respective positioningdevices 209 and 213 and the end effectors 210 and 214. In the embodimentshown the end effectors 210 and 214 are represented by indicators 408and 410 that indicate at least an approximate orientation of jaws of therespective end effectors. The positioning devices 209 and 213 arerepresented by areas 412 and 414 corresponding to 2D projected extentsof portions of the positioning devices onto the planar representation.

The graphical depictions 136 and 138 also each include an instrumentdepth range 416 and 418 indicating limitations to axial movement of theinstruments into the surgical workspace. The limitations to axialmovement of the instrument are represented by ends 424 and 426 of theinstrument depth range 416 and ends 428 and 430 of the instrument depthrange 418. The instrument depth ranges 416 and 418 also each include acurrent depth indicator 420 and 422 (in this case a circle) representinga current depth of the end effector within the respective instrumentdepth ranges. The current depth indicator 420 is closer to the end 424of the range 416 then the current depth indicator 422, since the rightside instrument 208 is located further into the surgical workspace thanthe left side instrument 212 (as shown in FIG. 2 ). The instrument depthrange 416 also includes an input device depth range 432 (shown as ahatched area) representing a portion of the instrument depth range 416that is accessible for a current mapping between the input deviceworkspace and the surgical workspace. Similarly, the instrument depthrange 418 includes an input device depth range 434 (shown as a hatchedarea) representing a portion of the instrument depth range 418 that isaccessible for a current mapping between the input device workspace andthe surgical workspace.

The input signals produced by the input device 110 also include rotationsignals defining a current rotation of each of the hand controllers 112and 114. The rotation signals are used by the workstation processorcircuit 120 to produce control signals for causing rotation of therespective end effectors 210 and 214 in the surgical workspace. Thegraphical depictions 136 and 138 shown in FIG. 5 also include instrumentrotation ranges 440 and 442 indicating limitations on rotationalmovements of the end effectors 210 and 214. In the graphical depictions136 and 138 a “Δ” indicator represents a current rotation of the endeffectors 210 and 214 with respect to a reference, which in FIG. 5 istaken as a vertical line 444 (shown only for the right graphicaldepiction 136 in FIG. 5 ). The graphical depictions 136 and 138 furtherdisplay input device rotation ranges 446 and 448 (shown as hatchedareas) representing a portion of the respective instrument rotationranges 440 and 442 that are accessible for a current mapping between theinput device workspace and the surgical workspace.

As disclosed above, blocks 302 - 308 of the process 300 are repeated ata frequency of about 1 kHz, thus updating the graphical depictions 136and 138 to provide the surgeon with a near real-time display of thespatial position of the instruments 208 and 212. In the embodiment shownin FIGS. 1 - 4 the instrument 106 includes a pair of instruments 208 and212, however in other embodiments the system 100 may have a singleinstrument and only a single graphical depiction would thus bedisplayed. Alternatively, where more than two instruments are used, agraphical depiction may be displayed for each instrument.

Referring to FIG. 6 , a schematic representation of the surgicalworkspace and the input device workspace for the right side instrument208 as viewed from above the input device 116 device is shown at 480.The hand controller 112 of the input device 116 is moveable within ahemispherical 3D volume and the corresponding input device workspace isshown in FIG. 6 as a horizontally hatched semi-circular area 482. InFIG. 6 , the input device workspace 482 is shown superimposed on thesurgical workspace 484, which is represented by vertically hatched areasaccessible by the right side instrument 208. The surgical workspace 484is also a 3D volume and has a boundary surface 485 defining constraintsto movement of the positioning device 209. A point 486 represents apoint of insertion of the insertion tube 202 through the wall of thepatient’s body cavity.

The boundary surface 485 in FIG. 6 and the planar representation of theboundary 402 in FIG. 5 represent limitations to movement of theinstrument 208 and end effector 210 based on the extent of the inputdevice workspace 482 within the surgical workspace 484. Additionallimitations may be placed on movement of the instrument 208 and endeffector 210 due to the patient’s anatomy. For example, portions ofother organs, vasculature, and other sensitive tissues may also limitmovement of the instrument 208 and end effector 210 within the surgicalworkspace 484. In another embodiment, one or more keep-out zones 498 maybe designated within the surgical workspace 484 and the boundary surface485 may be generated to include these keep-out zones. The keep-out zones498 are used to further limit movement of the instrument 208 and endeffector 210 within the input device workspace 482. Designation of thekeep-out zones 498 may be in accordance with input from the surgeon,which may be received at the input device 110. Alternatively, the keepout zones 498 may be designated in accordance with imaging or otherpatient data that is uploaded to the workstation processor circuit 120.For example, if the patient has had imaging such as magnetic resonanceimaging (MRI) or a CT scan, patient specific data relating to thesurgical site may be used to define the one or more keep-out zones 498.Subsequently when generating the graphical depictions 136 and 138, thekeep-out zones 498 would be included in the definitions of the boundary402 as an additional zone 436 within the boundary.

Movements of the hand controller 112 of the input device 116 are able tocause the positioning device 209 of the instrument 208 to move withinthe surgical workspace 484 while the end effector 210 is capable ofextending outwardly to reach into a region 488 for the current mapping.The area 488 represents an additional portion of surgical workspace thatcan be accessed by the end effector 210 and has a 3D boundary surface489.

The right graphical depiction 136 shown in FIG. 5 generally correspondsto a transverse cross-section taken along the line 5-5, where theintersection of the line 5-5 defines the boundary 402 of the positioningdevice movement region 400 and the boundary 406 of the end effectormovement region 404 as shown in FIG. 5 . The representation in FIG. 6 isshown for the right input device 116 and right hand controller 112controlling the right side instrument 208. The left input device 118,left hand controller 114, and left side instrument 212 have been omittedfor sake of clarity but may be similarly represented.

Changes in the mapping between the input signals produced by the inputdevice 110 and the control signals produced by the workstation processorcircuit 120 at the motion control interface 258 may be made when thefootswitch 134 is depressed allowing the hand controllers 112 and 114 tobe repositioned to access a different portion of the surgical workspace484 or in response to a change of scale factor, allowing a larger orsmaller proportion of the surgical workspace to be accessed.

Input Device

The right input device 116 is shown in greater detail in Figure. Forsimplicity, only the right input device 116 will be further described,it being understood that left input device 118 operates in the same way.Referring to FIG. 7 , the input device 116 is supported on a base 500and includes arms 502, 504, and 506. The right hand controller 112 ismounted to the arms 502 - 506 to permit positioning and rotation aboutorthogonal axes x₁, y₁ and z₁ of a Cartesian reference frame. TheCartesian reference frame has an origin at a point midway along a bodyof the hand controller 112 and the location of the origin defines thehand controller position 508 (i.e. at the origin). In this embodiment,the hand controller 112 is mounted on a gimbal mount 510. The arms 502 -506 confine movements of the hand controller 112 and hence the handcontroller position 508 to within the hemispherical input deviceworkspace, as shown in FIG. 6 . In one embodiment the input device 116may also be configured to generate haptic forces for providing hapticfeedback to the hand controller 112 through the arms 502 - 506.

The input device 116 has sensors (not shown) that sense the position ofeach of the arms 502 -506 and rotation of the hand controller 112 abouteach of the x₁, y₁ and z₁ axes and produces signals representing theposition of the hand controller in the workspace and the rotationalorientation of hand controller relative to an input device Cartesianreference frame x_(r), y_(r), z_(r). In this embodiment, the positionand orientation signals are transmitted as input signals via a USBconnection 518 to the USB interface 254 of the workstation processorcircuit 120.

In this embodiment, the gimbal mount 510 has a pin 512 extendingdownwardly from the mount and the base 500 includes a calibrationopening 514 for receiving the pin. When the pin 512 is received in theopening 514 the input device 116 is located in a calibration positionthat is defined relative to the input device Cartesian reference framex_(r), y_(r,) z_(r). The input device reference frame has an x_(r) —z_(r) plane parallel to the base 500 and a y_(r) axis perpendicular tothe base. The z_(r) axis is parallel to the base 500 and is coincidentwith an axis 516 passing centrally through the input device 116.

The input device 116 produces current hand controller signals andcurrent hand controller orientation signals that represent the currentposition and orientation of the hand controller 112. The signals may berepresented by a current hand controller position vector and a currenthand controller rotation matrix. The current hand controller positionvector is given by:

${\overset{\rightarrow}{P}}_{MCURR} = \left\{ \begin{array}{l}x_{1} \\y_{1} \\z_{1}\end{array} \right\},$

where x₁, y₁, and z₁ represent coordinates of the hand controllerposition 508 (i.e. the origin of the coordinate system x₁, y₁, z₁)relative to the input device reference frame x_(r), y_(r,) z_(r). Thecurrent hand controller rotation matrix is given by:

$R_{MCURR} = \begin{bmatrix}x_{1x} & y_{1x} & z_{1x} \\x_{1y} & y_{1y} & z_{1y} \\x_{1z} & y_{1z} & z_{1z}\end{bmatrix},$

where the columns of the matrix represent the axes of the handcontroller reference frame x₁, y_(1,) z₁ relative to the input devicereference frame x_(r), y_(r,) z_(r). The matrix R_(MCURR) thus definesthe current rotational orientation of the hand controller 112 relativeto the x_(r), y_(r,) and z_(r) fixed master reference frame. The currenthand controller position vector P _(MCURR) and current handle rotationmatrix R_(MCURR) are transmitted as current hand controller position andcurrent hand controller orientation signals via the USB connection 518to the USB interface 254 of the workstation processor circuit 120. Theworkstation processor circuit 120 stores the three values representingthe current handle position vector P _(MCURR) in a store 322 and thenine values representing the current hand controller rotation matrixR_(MCURR) in a store 324 of the current buffer 320 of workstation memory252.

Instrument

The right side instrument 208 is shown in greater detail in FIG. 8 .Referring to FIG. 8 , the positioning device 209 is configured toposition the end effector 210 within the surgical workspace byactivating various drivers in the instrument mount 108 in response tothe drive signals produced by the drive control interface 286 of theinstrument processor circuit 130 in response to the control signalsreceived at the communications interface 284 from the workstationprocessor circuit 120. The drive signals are produced based on thecurrent hand controller position vector P _(MCURR) and current handcontroller rotation matrix R_(MCURR) are stored in the stores 322 and324 of the current buffer 320 in the workstation memory 252.

The instrument 208 includes a plurality of the identical “vertebra” 550as described in PCT/CA2013/001076, which is incorporated herein byreference. The vertebra 550 are operable to move with respect to eachother when control wires passing through the vertebra are extended orretracted to cause movements of the positioning device 209. The positionand orientation of the end effector 210 is defined relative to a fixedslave reference frame having axes x_(v), y_(v), and z_(v,) whichintersect at a point referred to as the fixed slave reference position552. The fixed slave reference position 552 lies on a longitudinal axis554 of the instrument 208 and is contained in a plane perpendicular tothe longitudinal axis and containing a distal edge of the insertion tube202.

In the embodiment shown, the end effector 210 includes gripper jaws 216,which may be positioned and oriented within an end effector workspace. Atip of the gripper jaws 216 may be designated as an end effectorposition 560 defined as the origin of an end effector Cartesianreference frame x₂, y₂, z₂. The end effector position 560 is definedrelative to the slave reference position 552 and the end effector may bepositioned and orientated relative to the fixed slave reference framex_(v), y_(v), z_(v) for causing movement of the positioning device 209and/or the end effector 210.

The current hand controller position signal P _(MCURR) and current handcontroller orientation signal R_(MCURR) cause movement of the endeffector 210 of the instrument 208 to new end effector positions anddesired new end effector orientations and are represented by a new endeffector position vector P _(EENEW):

$P_{EENEW} = \left\{ \begin{array}{l}x_{2} \\y_{2} \\z_{2}\end{array} \right\},$

where x₂, y₂, and z₂ represent coordinates of the end effector position560 within the end effector workspace relative to the x_(v), y_(v),z_(v) fixed slave reference frame, and a 3x3 end effector rotationmatrix R_(EENEW):

$R_{EENEW} = \begin{bmatrix}x_{2x} & y_{2x} & z_{2x} \\x_{2y} & y_{2y} & z_{2y} \\x_{2z} & y_{2z} & z_{2z}\end{bmatrix},$

where the columns of the R_(EENEW) matrix represent the axes of the endeffector reference frame x₂, y₂, and z₂ written in the fixed slavereference frame x_(v,) y_(v), and z_(v). R_(EENEW) thus defines a neworientation of the end effector 210 in the end effector workspace,relative to the x_(v), y_(v), and z_(v) fixed slave reference frame.Values for the vector P _(EENEW) and rotation matrix R_(EENEW) arecalculated as described later herein and stored in stores 330 and 332 ofthe current buffer 320 of the workstation memory 252 respectively.

Base Setting Process

When the system 100 initially starts up, the workstation processorcircuit 120 sets a master base position vector P _(MBASE) equal to thecurrent hand controller vector P _(MCURR) and causes a definable masterbase rotation matrix R_(MBASE) to define an orientation that is the sameas the current orientation defined by the hand controller rotationmatrix R_(MCURR) associated with the current hand controller rotation.At startup the following operations are therefore performed:

${\overset{\rightarrow}{P}}_{MBASE} = {\overset{\rightarrow}{P}}_{MCURR},\text{and}$

R_(MBASE) = R_(MCURR).

The hand controller 112 reference frame represented by the axes x₁, y₁and z₁ shown in FIG. 7 and the definable master base reference framerepresented by the axes x_(mb), y_(mb), and z_(mb) (also shown in FIG. 7) thus coincide at startup of the system 100. Referring back to FIG. 3 ,the workstation processor circuit 120 stores the values representing thedefinable master base position vector P _(MBASE) and the definablemaster base rotation matrix R_(MBASE) in the stores 326 and 328 of thecurrent buffer 320 of the workstation memory 252.

At startup of the system 100 there would be no previously stored valuesfor the new end effector position vector P _(EENEW) and the new endeffector Rotation matrix R_(EENEW) and in one embodiment these valuesare set to home configuration values. A home configuration may bedefined that produces a generally straight positioning device 209 of theinstrument 208 as shown in FIG. 8 and the values of P _(EENEW) andR_(EENEW) for the home configuration may be preconfigured atinitialization. On startup of the system 100 the workstation processorcircuit 120 also causes a definable end effector base position vector P_(EEBASE) and a definable end effector base rotation matrix R_(EEBASE)to be set to the home configuration values of P _(EENEW) and R_(EENEW).In other embodiments, the home configuration may define configurationvariables to produce different bent or both straight and bent instrumentpositioning device poses for the home configuration. At startup thefollowing operations are therefore performed:

${\overset{\rightarrow}{P}}_{EEBASE} = {\overset{\rightarrow}{P}}_{EENEW},\text{and}$

R_(EEBASE) = R_(EENEW).

The end effector reference frame represented by the axes x₂, y₂, and z₂shown in FIG. 8 and the definable slave base reference frame representedby the axes x_(sb.) y_(sb,) and z_(sb) thus coincide at startup of thesystem 100. Referring back to FIG. 3 , the workstation processor circuit120 stores the values x_(sb), y_(sb), and z_(sb) representing thedefinable slave base position vector P _(EEBASE) in store 334 and storesthe values representing the definable slave base rotation matrixR_(MBASE) in a store 336 of the current buffer 320 of the workstationmemory 252.

The base setting process (block 304 of the process 300 shown in FIG. 4 )is executed asynchronously when the enablement signal produced by thefootswitch 134 transitions from the active state to the inactive stateat block 302. Further details of the base setting process 304 are shownas a process flowchart in FIG. 9 . The base setting process 304 beginsat block 600, which directs the microprocessor 250 of the workstationprocessor circuit 120 to inhibit further movement of the instrument 208by transmitting control signals via the motion control interface 258that cause the instrument processor circuit 130 to produce drive signalsat the drive control interface 286 that do not to cause furthermovements of the instrument 208. In one embodiment the microprocessor250 maintains the same control signals and since the drive signalsproduced by the drive control interface 286 are produced in response tothe control signals, the drive signals will be also be maintained at thevalues that were active at the time the footswitch 134 was depressed.The instrument 208 will thus remain immobile at a current position andorientation.

Block 602 then directs the microprocessor 250 to determine whether theenablement signal has transitioned from the inactive state to the activestate again. If the enablement signal remains in the inactive state,block 602 directs the microprocessor 250 to repeat block 602 and theprocess 304 is thus effectively suspended while the enablement signal inin the inactive state. When the enablement signal transitions from theinactive state to the active state, block 602 directs the microprocessor250 to block 604.

Block 604 directs the microprocessor 250 to set new base positions andorientations for the hand controller 112 and end effector 210respectively. While the footswitch 134 is depressed the surgeon may movethe hand controller 112 to a new location to relocate the input deviceworkspace relative to the surgical workspace. When the enablement signaltransitions to the active state, block 604 directs the microprocessor250 to cause current values of current hand controller position vector P_(MCURR) and the hand controller rotation matrix R_(MCURR) to be storedin locations 326 and 328 of the current buffer 320 workstation memory252 as new values for the master base position vector P _(MBASE) andmaster base rotation matrix R_(MBASE). Block 604 also directs themicroprocessor 250 to cause current values for the end effector positionsignal P _(EENEW) and the end effector orientation signal R_(EENEW) tobe stored in stores 334 and 336 of the current buffer 320 as thedefinable end effector base position vector P _(EEBASE) and definableslave base rotation matrix R_(MBASE).

The base setting process 304 then continues at block 606, which directsthe microprocessor 250 to permit further movement of the instrument 208while the enablement signal produced by the 134 remains active.

The base setting process 304 thus allows the instrument 208 to beimmobilized by depressing the footswitch 134 while the hand controller112 of the input device 116 is moved to a new location. When thefootswitch 134 is released, control of the instrument 208 resumes at thenew position of the hand controller 112. The hand controller 112 maythus be repositioned as desired while the instrument remains immobile,preventing unintended movements that may inflict injury to the patient.

In one embodiment, when the footswitch 134 causes the enablement signalto transition to the inactive state, the indicators 408, 412, 410 and414 in FIG. 5 representing the positions and orientations of therespective left and right instruments 208 and 212 are immobilized on thegraphical depictions 136 and 138 at their current respective positionsand additional indicators 450 and 452 representing current input device110 inputs are displayed. The immobilized indicators 408, 412, 410 and414 represent the position and orientation of the immobilizedinstruments 208 and 212 while the additional indicators 450 and 452represent current positions of the input devices 116 and 118 and handcontrollers 112 and 114. Subsequently, when the enablement signal againtransitions to the active state, the additional indicators 450 and 452are deleted or gradually faded out and the indicators 408, 412, 410 and414 are once again rendered active. Aligning the displayed indicators408 and 450 and the indicators 410 and 452 prior to releasing thefootswitch 134 minimizes the offset between the hand controllers 112 and114 and the respective instruments 208 and 212. Similarly current handcontroller rotation indicators 454 and 456 may be displayed at an offsetfrom the indicator representing a current rotation of the end effectors210 and 214. Accordingly, while the footswitch 134 is depressed, theuser can offset roll, orientation and translation (XYZ). When thefootswitch 134 is released the instruments 208 and 212 are re-engagedand the roll and translation offset is fixed.

Instrument Position and Orientation

Further details of block 306 of the process 300 shown in FIG. 3 forcalculating the 3D spatial position of the instrument are shown in FIG.10 . Referring to FIG. 10 , the process 306 includes blocks of codesexecuted by the workstation processor circuit 120 for calculating a newend effector position and orientation control signals P _(EENEW) andR_(EENEW) in response to the current hand controller position P _(MCURR)and hand controller orientation R_(MCURR). These control signals whenreceived by the instrument processor circuit 130 at the communicationsinterface 284 are used by the microprocessor 280 to produce drivesignals at the drive control interface 286 to position and orient theend effector 210. In one embodiment the process 306 is executedperiodically at a rate of about 1 kHz.

The process 306 begins at block 630 which directs the microprocessor 250to read current values for P _(MCURR) and R_(MCURR) from the currentbuffer 320 of the workstation memory 252, which represent the currenthand controller position vector P _(MCURR) and current hand controllermatrix R_(MCURR). Block 632 then directs the microprocessor 250 tocalculate new end effector position signals P _(EENEW) and new endeffector orientation signals R_(EENEW) representing a desired endeffector position 560 and desired end effector orientation, relative tothe fixed slave reference position 552 and the slave base orientation.Block 632 also directs the microprocessor 250 to store valuesrepresenting the new end effector position vector P _(EENEW) in thestore 330 and to store values representing the desired end effectororientation matrix R_(EENEW) in the store 332 of the current buffer 320of the workstation memory 252.

The new end effector position signals P _(EENEW) and new end effectororientation signals R_(EENEW) are calculated according to the followingrelations:

${\overset{\rightarrow}{P}}_{EENEW} = A\left( {{\overset{\rightarrow}{P}}_{MCURR} - {\overset{\rightarrow}{P}}_{MBASE}} \right) + {\overset{\rightarrow}{P}}_{EEBASE}$

R_(EENEW) = R_(EEBASE)R_(MBASE)⁻¹R_(MCURR)

where:

-   P _(EENEW) is the new end effector position vector that represents    the new desired position of the end effector 73 in the end effector    workspace, and is defined relative to the slave base reference    position;-   A is a scalar value representing a scaling factor in translational    motion between the master and the slave;-   P _(MCURR) is the current representation of the hand controller    position vector stored in the store 322 of the current buffer 320,    the hand controller position vector being defined relative to the    fixed master reference frame x_(r), y_(r,) and z_(r);-   P _(MBASE) is the last-saved position vector P _(MCURR) for the hand    controller 112 that was shifted at the last transition of the    enablement signal from the inactive state to the active state or on    system initialization or by operation of a control interface by an    operator;-   P _(EEBASE) is the last saved position vector P _(EENEW) for the end    effector 210 that was shifted at the last transition of the    enablement signal from the inactive state to the active state or on    system initialization;-   R_(EENEW) is the new end effector orientation matrix representing    the current orientation of the end effector 210, and is defined    relative to the fixed slave reference position 552;-   R_(EEBASE) is the last-saved rotation matrix R_(EENEW) of the end    effector 210 shifted at the last transition of the enablement signal    from the inactive state to the active state;-   R_(MBASE) ⁻¹ is the inverse of rotation matrix R_(MBASE), which is    the last-saved rotation matrix R_(MCURR) of the hand controller 112    saved at the last transition of the enablement signal from the    inactive state to the active state; and-   R_(MCURR) is the currently acquired rotation matrix representing the    orientation of hand controller 112 relative to the fixed master    reference frame x_(r), y_(r,) and z_(r)

Block 634 then directs the microprocessor 250 to determine whether theenablement signal is in the active state. If the enablement signal is inthe active state, block 636 directs the microprocessor 250 to cause themotion control interface 258 to transmit control signals based on thenewly calculated values for P _(EENEW) and R_(EENEW). When the controlsignals are received at the communications interface 284 of theinstrument processor circuit 130, the microprocessor 280 causes drivesignals to be produced to cause the end effector 210 to assume aposition and orientation determined by the current position and currentorientation of the hand controller 112.

Block 638 then directs the microprocessor 250 to copy the currentposition vector P _(MCURR) and the current rotation matrix R_(MCURR)stored in stores 322 and 324 of the current buffer 320 into stores 342(P _(MPREV)) and 344 (R_(MPREV)) of the previous buffer 340 of theworkstation memory 252. Block 638 also directs the microprocessor 250 tocopy the newly calculated end effector position vector P _(EENEW) andthe newly calculated end effector rotation matrix R_(EENEW) into stores346 and 348 of the previous buffer 340. By storing the newly calculatedend effector position vector P _(EENEW) and newly calculated endeffector rotation matrix R_(EENEW), as previously calculated endeffector position vector P _(EEPREV) and previously calculated endeffector rotation matrix R_(EEPREV), a subsequently acquired new endeffector position vector P _(EENEW) and subsequently acquired new endeffector rotation matrix R_(EENEW) can be calculated from the nextreceived hand controller position vector P _(MCURR) and next receivehand controller rotation matrix R_(MCURR) provided by the input device116.

If at block 634, the enablement signal is in the inactive state themicroprocessor 250 is directed to block 642. Block 642 directs themicroprocessor 250 to cause the motion control interface 258 to transmitcontrol signals based on the previously calculated values of P _(EEPREV)and R_(EEPREV) in the respective stores 346 and 348 of the previousbutter 340 of the workstation memory 252. The control signalstransmitted by the motion control interface 258 arte thus derived fromthe last saved values of P _(EENEW) and R_(EENEW), causing the endeffector 210 to remain stationary since the same control signals aspreviously determined are transmitted to the communications interface284 of the instrument processor circuit 130. The microprocessor 250 isthen directed to block 640.

While enablement signal remains inactive (i.e. while the footswitch 134is depressed) the control signals transmitted by the motion controlinterface 258 are based only on the previously calculated end effectorposition and previously calculated orientation signals P _(EEPREV) andR_(EEPREV) that were in effect before the enablement signal transitionedto inactive.

In another embodiment certain special functions may be executed beforeexecuting block 636 when the enablement signal is determined to be inthe active state at block 634. One example of such a special function isan alignment control function, as described in applicant’s co-pendingUnited States patent applications US 62/101,734 and US 62/101,804,hereby incorporated by reference in their entirety. For example, in oneembodiment an alignment control function may have one of two outcomes.The first outcome may direct the microprocessor 250 to execute block636, which directs the microprocessor to cause the motion controlinterface 258 to transmit control signals to the instrument processorcircuit 130 based on the newly calculated end effector position andnewly calculated end effector orientation P _(EENEW) and R_(EENEW). Thesecond outcome directs the microprocessor 250 to execute block 638,which causes the microprocessor to cause the motion control interface258 to transmit control signals based on a previously calculated endeffector position and previously calculated end effector orientation P_(EEPREV) and R_(EEPREV). This causes the end effector 210 to assume aposition and orientation determined by a previous position and previousorientation of the hand controller 112.

Accordingly, when the enablement signal is in the inactive state, thehand controller 112 can be moved and rotated and the calculations of P_(EENEW) and R_(EENEW) will still be performed by block 632, but therewill be no movement of the end effector 210, since the previous controlsignals are sent to the instrument processor circuit 130. This allows“clutching” or repositioning of the hand controller 112 withoutcorresponding movement of the end effector 210. The movement may beuseful in relocating the hand controller within the input deviceworkspace to a comfortable position and/or providing an increased rangeof movement for the end effector 210 within the surgical workspace.

The end effector position vector P _(EENEW) or P _(EEPREV) and endeffector orientation matrix R_(EENEW) or R_(EEPREV) produced at block636 or block 638 provide a desired location end effector tip 560 withrespect to the fixed slave reference position 552. However, in theembodiment shown in FIG. 3 , the microprocessor 250 causes the motioncontrol interface 258 to transmit motion control signals that define apose required by the positioning device 209 to position and orient theend effector 210 in the desired end effector position and orientation.The motion control signals are thus generated based on a kinematicconfiguration of the positioning device 209 and end effector 210 toposition the end effector position 560 at the desired position andorientation.

Motion Control Signals

The right side instrument 208 is shown in a bent pose in FIG. 11 andFIG. 12 . The left side instrument 212 is also shown in FIG. 12 in astraight pose corresponding to the home configuration. Referring to FIG.11 and FIG. 12 , the positioning device 209 of the instrument 208 has afirst articulated segment referred to as an s-segment 700 and a secondarticulated segment referred to as a distal segment 702. The segmentseach include a plurality of the vertebra 550. The s-segment 700 beginsat a distance from the insertion tube 202, referred to as the insertiondistance q_(ins), which is a distance between the fixed slave referenceposition 552 defined at the origin of the slave fixed base referenceframe x_(v,) y_(v), and z_(v) and a first position 704 at an origin of afirst position reference frame x₃, y₃, and z₃. The insertion distanceq_(ins) represents an unbendable portion of the positioning device 209that extends out of the end of the insertion tube 202. In the embodimentshown, the insertion distance q_(ins) may be about 10 - 20 mm, while inother embodiments the insertion distance may be longer or shorter,varying from 0 - 100 mm, for example.

The s-segment 700 extends from the first position 704 to a thirdposition 706 defined as an origin of a third reference frame having axesx₅, y₅, and z₅ and is capable of assuming a smooth s-shape when controlwires (not shown) inside the s-segment 700 are pushed and pulled. Thes-segment 700 has a mid-point at a second position 708, defined as theorigin of a second position reference frame having axes x₄, y₄, and z₄.The s-segment 700 has a length L₁, best shown in FIG. 12 for the leftside instrument positioning device 213. In the embodiment shown, thelength L₁ may be about 65 mm.

The distal segment 702 extends from the third position 706 to a fourthposition 710 defined as an origin of a fourth reference frame havingaxes x₆, y₆, and z₆. The distal segment 702 has a length L₂, best shownin FIG. 12 for the left side instrument positioning device 213. In theembodiment shown, the length L₂ may be about 23 mm.

Each end effector 210 and 214 also has an end effector length, which inthe embodiment shown is a gripper length L₃ extending from the fourthposition 710 to the end effector tip position 560 defined as the originof the axes x₂, y₂, and z₂. The gripper length L₃ is best shown in FIG.12 again for the left side instrument positioning device 213 and in oneembodiment may be about 25 mm. The slave reference position 552, firstposition 704, second position 708, third position 706, fourth position710, and the end effector position 560 may collectively be referred toas instrument reference positions.

As described in PCT/CA2013/001076 (hereby incorporated herein byreference in its entirety) by pushing and pulling on control wiresinside the positioning devices 209 and 213, the s-segments 700 of thepositioning devices 209 and 213 may be bent into various degrees of ans-shape, from the straight condition shown in FIG. 8 to a partials-shape for the right side instrument 208 shown in FIGS. 11 and 12 to afull s-shape. The s-segment 700 is sectional in that it has a firstsection 712 and a second section 714 on opposite sides of the secondposition 708. Referring to FIG. 5 , the first and second sections 712and 714 lie in a first bend plane containing the first position 704,second position 708, and third position 706. The first bend plane is atan angle δ_(prox) to the x_(v)-z_(v) plane of the fixed slave referenceframe x_(v,) y_(v), and z_(v). The first section 712 and second section714 are bent in the first bend plane through opposite but equal anglesϑ_(prox) such that no matter the angle ϑ_(prox) or the bend plane angleδ_(prox), the z₅ axis of the third position 706 is always parallel toand aligned in the same direction as the z_(v) axis of the fixed slavereference position 552. Thus, by pushing and pulling on the controlwires within the positioning device 209, the third position 706 can beplaced at any of a number of discrete positions in space within acylindrical volume about the first position 704. This cylindrical volumemay be referred to as the s-segment workspace.

In addition, the distal segment 702 lies in a second bend planecontaining the third position 706 and the fourth position 710. Thesecond bend plane is at an angle δ_(dist) to the x_(v)-z_(v) plane ofthe fixed slave reference frame x_(v,) y_(v), and z_(v). The distalsegment 702 is bent in the second bend plane at an angle ϑ_(dist). Thus,by pushing and pulling the control wires within the positioning device209, the fourth position 710 can be placed within another volume inspace about the fourth position 710. This volume may be referred to asthe distal workspace. The combination of the s-segment workspace and thedistal workspace may be referred to as the positioning device workspaceas this represents the total possible movement of the instrument 208 aseffected by the positioning device 209. The left side instrument 212 maybe similarly positioned by the positioning device 213.

The distance between the fourth position 710 and the end effectorposition 560 is the distance between the movable portion of the distalsegment 702 and the tip of the gripper end effector 210 in theembodiment shown, i.e. the length the gripper length L₃ shown in FIG. 12. Generally, a portion of the gripper between the fourth position 710and the end effector position 560 will be unbendable.

In the embodiment shown, the end effector 210 include moveable gripperjaws 216 that are rotatable about the z₂ axis in the x₂-y₂ plane of theend effector reference frame, the angle of rotation being represented byan angle Y relative to the positive x₂ axis. Finally, the gripper jaws216 may be at any of varying degrees of openness from fully closed tofully open (as limited by a hinge joint of the jaws). The varyingdegrees of openness may be defined as the “gripper”. In summarytherefore, the motion control signals are generated based on a kinematicconfiguration of the positioning device 209 and end effector 210 asdefined by the following configuration variables:

-   q_(ins) represents a distance from the slave reference position 552    defined by axes x_(v,) y_(v), and z_(v) to the first position 704    defined by axes x₃, y₃ and z₃ where the s-segment 700 of the    positioning device 209 begins;-   δ_(prox) represents a first bend plane in which the s-segment 700 is    bent relative to the x_(v) – y_(v) plane of the fixed slave    reference frame;-   ϑ_(prox) represents an angle at which the first and second sections    712 and 714 of the s-segment 700 are bent in the first bend plane;-   δ_(dist) represents a second bend plane in which the distal segment    702 is bent relative to the x_(v)- y_(v) plane of the fixed slave    reference frame;-   θ_(dist) represents an angle through which the distal segment 702 is    bent in the second bend;-   γ represents a rotation of the end effector 210 about axis z₂; and-   Gripper: represents a degree of openness of the gripper jaws 216 of    the end effector 210 (this is a value which is calculated in direct    proportion to a signal produced by an actuator (not shown) on the    hand controller 112 indicative of an amount of pressure the operator    exerts by squeezing the actuator to actuate the jaws 216 to close).

To calculate the configuration variables, it will first be recalled thatthe end effector rotation matrix R_(EENEW) is a 3x3 matrix:

$R_{EENEW} = \begin{bmatrix}x_{2x} & y_{2x} & z_{2x} \\x_{2y} & y_{2y} & z_{2y} \\x_{2z} & y_{2z} & z_{2z}\end{bmatrix},$

where the last column of R_(EENEW) is the z-axis of the end effectorreference frame written relative to the fixed slave reference framex_(v), y_(v), and z_(v). The values ϑ_(dist), δ_(dist), and γ associatedwith the distal segment 702 may be calculated according to therelations:

$\theta_{dist} = \frac{\pi}{2} - atan2\left( {\sqrt{\text{z}_{2\text{x}}^{2} + z_{2y}^{2}},z_{2z}} \right)$

$\begin{array}{l}{\delta_{dist} = - atan2\left( {z_{2y},z_{2x}} \right).} \\{\text{if}\left| \delta_{dist} \right| > \frac{\pi}{2}:}\end{array}$

$\begin{array}{l}{\gamma = atan2\left( {- y_{2z},x_{2z}} \right) - \delta_{dist} + \pi} \\\text{else}\end{array}$

γ = atan2(y_(2z), −x_(2z)) − δ_(dist)

The third position 706 may then be written in terms of a vector P _(3/v)from the fixed slave reference position 552 to the third position.Similarly a vector P _(4/3) may be defined from the third position 706to the fourth position 710 and a vector P _(5/4) may be defined from thefourth position 710 to the end effector position 560. These values canthen be used to compute the location of third position 706 relative tothe fixed slave reference position 552 by subtracting the vectors P_(4/3) and P _(5/4) from the end effector position vector P _(EENEW):

${\overline{p}}_{3/v} = {\overset{\rightarrow}{P}}_{EENEW} - {\overline{p}}_{4/3} - {\overline{p}}_{5/4},$

where:

${\overline{p}}_{4/3} \cdot \overline{i} = \frac{- L_{2}\cos\delta_{dist}\left( {\sin\theta_{dist} - 1} \right)}{\frac{\pi}{2} - \theta_{dist}}$

${\overline{p}}_{4/3} \cdot \overline{j} = \frac{L_{2}\sin\delta_{dist}\left( {\sin\theta_{dist} - 1} \right)}{\frac{\pi}{2} - \theta_{dist}}$

${\overline{p}}_{4/3} \cdot \overline{k} = \frac{L_{2}\cos\left( \theta_{dist} \right)}{\frac{\pi}{2} - \theta_{dist}}$

${\overline{p}}_{5/4} \cdot \overline{i} = L_{3}\cos\left( \delta_{dist} \right)\cos\left( \theta_{dist} \right)$

${\overline{p}}_{5/4} \cdot \overline{j} = - L_{3}\sin\left( \delta_{dist} \right)\cos\left( \theta_{dist} \right)$

${\overline{p}}_{5/4} \cdot \overline{k} = L_{3}\sin\left( \theta_{dist} \right),$

where i is a unit vector in the x direction, j is a unit vector in the ydirection, and k is a unit vector in the z direction.

The vector p _(3/v) from the fixed slave reference position 552 to thethird position 706 may then be used to find the configuration variablesδ_(prox) and ϑ_(prox) for the s-segment 700. The angle δ_(prox) iscalculated by solving the following two equations for δ_(prox):

${\overline{p}}_{3/v} \cdot \overline{i} = \frac{- L_{1}\cos\delta_{prox}\left( {\sin\theta_{prox} - 1} \right)}{\frac{\pi}{2} - \theta_{prox}}$

${\overline{p}}_{3/v} \cdot \overline{j} = \frac{L_{1}\sin\delta_{prox}\left( {\sin\theta_{prox} - 1} \right)}{\frac{\pi}{2} - \theta_{prox}}.$

Taking a ratio of Eqn 8b and Eqn 8a yields:

$\delta_{prox} = a\tan 2\left( {- {\overline{p}}_{3/v} \cdot \overline{j},{\overline{p}}_{3/v} \cdot \overline{i}} \right),$

where i and j are unit vectors in the x and y directions respectively. Aclosed form solution cannot be found for ϑ_(prox), and accordinglyϑ_(prox) must be found using a numerical equation solution to either ofequations Eqn 8a or Eqn 8b. For example, a Newton-Raphson method may beemployed, which iteratively approximates successively better roots of areal-valued function. The Newton-Raphson method can be implemented usingthe following equations:

$f\left( \theta_{prox} \right) = \frac{L_{1}}{\frac{\pi}{2} - \theta_{prox}}\cos\delta_{prox}\left( {1 - \sin\theta_{prox}} \right) - {\overline{p}}_{3/v} \cdot \overline{i} = 0,$

where i is the unit vector in the x direction. The equation Eqn 10 isEqn 8a rewritten in the form f(ϑ_(prox))=0. The Newton-Raphson methodtends to converge very quickly because in the range 0<ϑ_(prox)<π, thefunction has a large radius of curvature and has no local stationarypoints. Following the Newton-Raphson method, successive improvedestimates of ϑ_(prox) can be made iteratively to satisfy equation Eqn 10using the following relationship:

$\theta_{n + 1} = \theta_{n} - \frac{f\left( \theta_{n} \right)}{f^{\prime}\left( \theta_{n} \right)}$

Finally, upon determination of ϑ_(prox), the following equation can beused to find q_(ins):

$q_{ins} = - {\overline{p}}_{3/v} \cdot \overline{k} - \frac{L_{1}\cos\theta_{prox}}{\frac{\pi}{2} - \theta_{prox}},$

where k is the unit vector in the z direction and p̅_(3/v).k is the dotproduct of the vector p̅_(3/1v) and the unit vector k.

The above configuration variables calculated for the end effectorposition and orientation signals P _(EENEW) and R_(EENEW) at block 636or P _(EEPREV) and R_(EEPREV) at block 642 of the process 306. Theconfiguration variables generally define a pose of the positioningdevice 209 required to position the end effector 210 at the desiredlocation and orientation in end effector workspace. Configurationvariables are produced for each end effector 210 and 214 of therespective right and left side instruments 208 and 212. Two sets ofconfiguration variables referred to as left and right configurationvariables respectively are thus produced and transmitted by the motioncontrol interface 258 to the instrument processor circuit 130 and usedby the microprocessor 280 to generate drive control signals forspatially positioning the positioning device 209 and end effector 210 ofthe instrument 208 in the surgical workspace.

3D Spatial Positioning

Further details of block 308 of the process 300 shown in FIG. 3 areshown in FIG. 13 . Referring to FIG. 13 , the process 308 includesblocks of codes executed by the workstation processor circuit 120 forgenerating display signals for displaying the graphical depictions 136and 138 shown in FIG. 5 . The process 308 uses the values of theconfiguration variables that were determined at block 306 to determinelocations in the surgical workspace for points along the positioningdevices 209 for the current inputs from the input device 110 andfootswitch 134. The locations are determined relative to fixed slavereference position 552 within the surgical workspace. The process 308generally involves determining theoretical locations for each of thereference points, namely the first position 704, second position 708,third position 706, fourth position 710 and the end effector position560 in the surgical workspace. Once the theoretical location of eachreference point is determined, the theoretical locations of variousintermediate points along the positioning device 209 within the surgicalworkspace may be determined. Each of the sections 712, 714 of thes-segment 700, and the distal segment 702 of the positioning device 209includes a plurality of vertebra 550 and centers of the vertebrae arespaced apart by the same distance. Since the s-segment 700 and distalsegment 702 form smooth continuous constant-radius curves when bent, thetheoretical location of the center of each vertebra can thus becalculated mathematically. The theoretical locations may be used todetermine motion control signals used by the instrument processorcircuit 130 to generate drive signals for the actual positioning of theinstrument 208 in surgical workspace. The theoretical locations are alsoused by the workstation processor circuit 120 to generate the graphicaldepictions 136 and 138 shown in FIG. 5 .

The process 308 begins at block 740, which directs the microprocessor250 to select the first reference position (shown at 704 in FIG. 11 )for processing. Block 742 then directs the microprocessor 250 todetermine the location of the first position 704, which is spaced fromthe fixed slave reference position 552 by an unbendable portion of thepositioning device 209 having length q_(ins). The location of the firstposition 704 is thus determined by simple addition of the q_(ins)configuration variable to the fixed slave reference position 552 in thez_(v) axis. The location may be expressed in terms of a vector p̅_(1/v)from the fixed slave reference position 552 to the first position 704within the surgical workspace.

Block 744 then directs the microprocessor 250 to determine locations ofintermediate points along the first section 712 of the positioningdevice 209 (i.e. between the first position 704 and the second position708). The location of the first position 704 determined at block 740 isused to determine locations of all vertebrae 550 in the first section712 of the s-segment 700. For example in the embodiment shown in FIG. 11, assuming there are 15 vertebrae 550 in the first section 712 betweenthe first position 704 and the second position 708, the center of then^(th) vertebrae will lie at a theoretical location that is at anintermediate point along the first section 220 calculated as:

$\frac{n\theta_{prox}}{15}$

relative to the first position 704. A vector from the first position 704to the n^(th) vertebra position may thus be determined and added to thevector p̅_(1/v) from the fixed slave reference position 552 to the firstposition 704 to determine the location of each of the n vertebrae of thefirst section 712 relative to the fixed slave reference position 552 inthe surgical workspace.

Block 746 then directs the microprocessor 250 to determine whether allof the reference positions have been processed, and if notmicroprocessor is directed to block 748 where the next referenceposition is selected for processing. Block 748 then directs themicroprocessor 250 back to block 742 and blocks 742 and 744 are repeatedfor each reference position.

The location of the second position 708 relative to the fixed slavereference position 552 may be determined from the configurationvariables q_(ins), ϑ_(prox), and δ_(prox). Determining a vector p̅_(2/1v)from the fixed slave reference position 552 to the second position 708provides a theoretical location of the second position in absolute termswithin the surgical workspace. For the embodiment shown in FIG. 11 ,assuming again that there are 15 vertebrae in the second section 714,the center of the n^(th) vertebrae of the second section would lie in anintermediate point along the second section. The angle at which thesecond section 222 is bent in the first bend plane δ_(prox) is equal andopposite to the angle ϑ_(prox) used for the calculations concerning thevertebrae of the first section 712. Therefore, an intermediate point ofthe n^(th) vertebrae can be calculated as:

$\frac{n\left( {- \theta_{prox}} \right)}{15}$

relative to the second position 708. A vector from the second position708 to the n^(th) vertebra position may thus be determined and added tothe vector p̅_(2/v) from the slave reference position 552 to the secondposition 708 to provide the theoretical location of the n^(th) vertebraeof the second section 714 in absolute terms within the positioningdevice workspace. This process may be repeated for each of the 15vertebrae in the second section 714 of the s-segment 700 to findabsolute locations for each vertebrae intermediate point within thesurgical workspace relative to the fixed slave reference position 552.

The location of the third position 706 at the end of the s-segment 700may be expressed in terms of the vector p̅_(3/v) having vector componentsas set out in Eqn 8a, 8b, and 8c above. The location of the thirdposition 706 may be used as the reference point for determining thetheoretical locations of all vertebrae 550 in the distal segment 702using the method provided above. Assuming that there are 15 vertebrae inthe distal segment 702, the center of the n^(th) vertebrae would lie inan intermediate point that is along the distal segment. The angle atwhich the distal segment 702 is bent in the second bend plane δ_(dist)is ϑ_(dist). Therefore, an intermediate point of the n^(th) vertebraecan be calculated as:

$\frac{n\theta_{dist}}{15}$

relative to the third position 706. A vector from the third position 706to the n^(th) vertebra position may thus be determined and added to thevector p̅_(3/v) to arrive at the theoretical location of the n^(th)vertebrae in the distal segment 702 in absolute terms in the surgicalworkspace. This procedure is repeated for each of the 15 vertebrae inthe distal segment 702 to find the theoretical location for eachvertebrae intermediate point in the positioning device workspace inabsolute terms, relative to the fixed slave reference position 552.

The location of the fourth position 710 may be determined from thevector p̅_(4/3) relative to the third position 706 having vectorcomponents as set out in Eqn 6a, 6b, and 6c above. Adding the vectorp̅_(4/3) to the vector p̅_(3/v) from the fixed slave reference position552 to the third position 234 will arrive at the theoretical location ofthe fourth position in absolute terms relative to the fixed slavereference position in the surgical workspace.

Finally, the theoretical location of the end effector position 560 maybe determined as a vector p̅_(5/4) relative to the fourth position 710according to vector component relations set out in Eqn 7a, 7b and 7cabove. Adding the vector from the fourth position 710 to the endeffector position 550 to the vector p̅_(4/3) and to the vector p̅_(3/v)from the fixed slave reference position 552 will arrive at thetheoretical location of the end effector position 560 in absolute termsrelative to the fixed slave reference position.

If at block 746, each of the reference positions along the positioningdevice 209 has been processed, the locations of a plurality of pointsalong the 209 and end effector 210 will have been determined, thusdefining the 3D spatial positioning of the instrument 208 in thesurgical workspace.

The process 308 then continues at block 748, which directs themicroprocessor 250 to generate a two-dimensional projection of thecurrent 3D spatial position of the positioning device 208 to generatethe area 412 representing the positioning device shown in the graphicaldepiction 136 of FIG. 5 . Block 748 also directs the microprocessor 250to generate a two-dimensional projection of the current 3D spatialposition of the end effector 210 to generate the indicator 408representing the end effector shown in FIG. 5 . In one embodiment, theplanar representation 136 is generated for a plane that is aligned withthe x_(y) - y_(v) plane (i.e. perpendicular to the z_(v) axis) and theprojection is generated from the x_(v) and y_(v) components of thelocation of each intermediate point along the positioning device 209 andend effector 210 (i.e. the z_(v) components are set to zero).

The process 308 then continues at block 750, which directs themicroprocessor 250 to determine whether any projected portion of thepositioning device 209 is proximate the boundary 406 in FIG. 5indicating that a constraint to further movement of the positioningdevice is active. Block 750 also directs the microprocessor 250 todetermine whether any projected portion of the end effector 210 isproximate the boundary 402. If either of these conditions is detected,block 750 directs the microprocessor 250 to block 752.

Block 752 directs the microprocessor 250 to cause an active constraintalert to be generated. In one embodiment a visual alert may be generatedby changing a color or displayed intensity of the boundary 402 or 406 orby displaying an alert symbol on the display 122. The alert mayalternatively be displayed in the graphical depictions 136 and 138overlaying the location of the indicators 412 and 414. In otherembodiments an audible alert may be generated. Alternatively oradditionally, the microprocessor 250 may cause the input device 110 togenerate haptic feedback via the hand controller 112. Block 752 thendirects the microprocessor 250 back to block 302 in FIG. 4 .

If at block 750, the positioning device 209 and end effector 210 are notproximate any boundaries, the microprocessor 250 is directed back toblock 302 in FIG. 4 .

Depth

The instrument depth range 416 depiction shown in FIG. 5 is generated asfollows. The depth range is taken along an axis 492 shown in FIG. 6 ,with the end 424 of the range corresponding to a maximum depth 494 ofthe end effector 210 within the area 488. The end 426 of the instrumentdepth range 416 corresponds to a minimum depth 496 of the end effector210 within area 488. The input device depth range 432 similarlycorresponds to the portion of the hatched area 482 along the axis 492.The current depth indicator 420 is positioned on the instrument depthrange 416 at a location corresponding to the z value of the end effectorposition 560. in one embodiment, the microprocessor 250 may cause anactive constraint indication to be generated when the end effector 210is proximate either ends 424 or 426 of the input device depth range. Thealert may take the form of an audible alert, visual alert displayed onthe display 122, or haptic feedback through the right input device 116and hand controller 112. The instrument depth range 418 is similarlygenerated for the left side instrument 212.

Rotation

The instrument rotation range 440 shown in FIG. 5 is generated from theconfiguration variable γ (i.e. the rotation of the end effector 210about the axis z₂, as shown in FIG. 11 ). The “Δ” indicator representsthe current rotation angle γ of the end effector 210, where the verticalline 444 is taken the reference corresponding to the right handcontroller 112 being held in a generally un-rotated position. The rangeinstrument rotation range 440 has an extent that corresponds to theextent of the range of rotation provided by the hand controller 112. Theinstrument rotation range 440 may also be offset depending of themapping between the input device workspace and the surgical workspace.For example, after the footswitch 134 has been depressed the handcontroller 112 may be rotated prior to releasing the footswitch 134,thus offsetting the working rotational range, as shown in FIG. 5 .

Positioning Device Active Constraints

The intermediate positions of the positioning device 209 of the rightside instrument 208 calculated as described define the 3D location ofthe positioning device 209 of the instrument 208 within the surgicalworkspace (shown at 484 in FIG. 5 ). For each intermediate location ofthe vertebra 550, the microprocessor 250 determines whether the locationis proximate a portion of the 3D boundary surface 485 of the surgicalworkspace 484. Examples of the graphical depictions for positions of thepositioning device 209 of the instruments 208 and 212 are shown in FIG.14 . Referring to FIG. 14 , the first example 800 shows the graphicaldepictions 136 and 138 for the instruments 208 and 212 in the startposition after insertion where the positioning devices 209 and 213 arein a substantially straight position as shown in the side view of theinstrument to the left of the depictions. The graphical depictions 136and 138 depict the positioning devices 209 and 213 as respective dotslocated at the center.

In the next example 802, the positioning device 209 has been moved upand the positioning device 213 has been moved down and intermediatelocations at 804 are determined by the microprocessor 250 to beproximate upper and lower portions of the boundary surface 485. The dotsdepicting the instruments 208 and 212 are shown at locations proximatethe boundary. An alert may be generated by coloring portions of theboundary in a conspicuous color to indicate the condition to thesurgeon.

An example of left/right limits for the positioning devices 209 and 213are shown at 806. In the example shown at 808, the positioning devices209 and 213 are positioned generally as in the example 806 but with theend effectors 210 and 214 turned outwardly. The end effectors 210 and214 are located proximate the boundary surface 489 of the region 488shown in FIG. 5 and are depicted by the indicators 408 and 410respectively. The positioning devices 209 and 210 are represented by theareas 412 and 414 respectively. Alerts may be generated and depicted asconspicuously colored regions at the boundary surface 489 to indicatethe condition to the surgeon.

An example 810 shows the instruments 208 and 212 slightly turned in sothat the end effector indicators 408 and 410 and the areas 412 and 414are visible. In the example 812, the end effectors 210 and 214 remainturned inwardly while the positioning devices 209 and 213 have reachedthe upper and lower limits as shown at 814. In example 816, the endeffectors 210 and 214 have turned outwardly and are proximate respectiveupper and lower portions of the 3D boundary surface 489. In the finalexample 818, a similar situation shown in example 812 is shown for theleft/right limits to positioning device movement.

While specific embodiments have been described and illustrated, suchembodiments should be considered illustrative of the invention only andnot as limiting the invention as construed in accordance with theaccompanying claims.

1. (canceled)
 2. A robotic surgery apparatus comprising: at least oneinput device including a hand controller configured to be moved by auser within an input device workspace, the movement of the handcontroller causing changes in a position of a surgical instrument in asurgical workspace; a display configured to illustrate a graphicaldepiction of the surgical workspace; and a processor in communicationwith the at least one input device and the display, the processorconfigured to: determine a current three-dimensional spatial position ofthe surgical instrument within the surgical workspace responsive to acurrent position of the hand controller in the input device workspace;determine an instrument depth range indicating limitations to axialmovement of the surgical instrument into the surgical workspace;determine a current depth of an end effector of the surgical instrumentwithin the instrument depth range based on the current three-dimensionalspatial position of the surgical instrument; determine an input devicedepth range representing a portion of the instrument depth range that isaccessible by the surgical instrument based on a current mapping betweenthe input device workspace and the surgical workspace, wherein the inputdevice workspace defines a limited range of the instrument depth rangebeing accessible by the surgical instrument; and cause the display todisplay the graphical depiction of the surgical workspace, the graphicaldepiction including the instrument depth range, an indicatorrepresenting the current depth of the end effector within the instrumentdepth range, and the input device depth range.
 3. The robotic surgeryapparatus of claim 2, wherein the graphical depiction illustrates theinstrument depth range as a vertical bar and the input device depthrange as a region of a different color on the vertical bar.
 4. Therobotic surgery apparatus of claim 2, wherein the graphical depictionillustrates the indicator representing the current depth of the endeffector within the instrument depth range as a dot.
 5. The roboticsurgery apparatus of claim 2, wherein: the at least one input devicecomprises: a first input device including a first hand controllerconfigured to be moved by the user within a first input deviceworkspace, the movement of the first hand controller causing changes ina position of a first surgical instrument in the surgical workspace; anda second input device including a second hand controller configured tobe moved by the user within a second input device workspace, themovement of the second hand controller causing changes in a position ofa second surgical instrument in the surgical workspace; and theprocessor is configured to: determine a first current three-dimensionalspatial position of the first surgical instrument within the surgicalworkspace responsive to a current position of the first hand controllerin the first input device workspace; determine a second currentthree-dimensional spatial position of the second surgical instrumentwithin the surgical workspace responsive to a current position of thesecond hand controller in the second input device workspace; determine afirst instrument depth range indicating limitations to axial movement ofthe first surgical instrument into the surgical workspace; determine asecond instrument depth range indicating limitations to axial movementof the second surgical instrument into the surgical workspace; determinea first current depth of a first end effector of the first surgicalinstrument within the first instrument depth range based on the firstcurrent three-dimensional spatial position of the first surgicalinstrument; determine a second current depth of a second end effector ofthe second surgical instrument within the second instrument depth rangebased on the second current three-dimensional spatial position of thesecond surgical instrument; determine a first input device depth rangerepresenting a portion of the first instrument depth range that isaccessible by the first surgical instrument based on a current mappingbetween the first input device workspace and the surgical workspace,wherein the first input device workspace defines a limited range of thefirst instrument depth range being accessible by the first surgicalinstrument; determine a second input device depth range representing aportion of the second instrument depth range that is accessible by thesecond surgical instrument based on a current mapping between the secondinput device workspace and the surgical workspace, wherein the secondinput device workspace defines a limited range of the second instrumentdepth range being accessible by the second surgical instrument; andcause the display to display the graphical depiction of the surgicalworkspace, the graphical depiction comprising the first and secondinstrument depth ranges, a first indicator representing the firstcurrent depth of the first end effector within the first instrumentdepth range, a second indicator representing the second current depth ofthe second end effector within the second instrument depth range, andthe first and second input device depth ranges.
 6. The robotic surgeryapparatus of claim 5, wherein the graphical depiction illustrates thefirst instrument depth range, the first indicator, and the first inputdevice depth range on a first side of the display and the secondinstrument depth range, the second indicator, and the second inputdevice depth range as depicted on a second side of the display oppositethe first side of the display.
 7. The robotic surgery apparatus of claim5, wherein: the graphical depiction illustrates the first instrumentdepth range as a first vertical bar and the first input device depthrange as a region of a different color on the first vertical bar; andthe graphical depiction illustrates the second instrument depth range asa second vertical bar and the second input device depth range as aregion of a different color on the second vertical bar.
 8. The roboticsurgery apparatus of claim 5, wherein: the graphical depictionillustrates the first indicator representing the first current depth ofthe first end effector within the first instrument depth range as afirst dot; and the graphical depiction illustrates the second indicatorrepresenting the second current depth of the second end effector withinthe second instrument depth range as a second dot.
 9. The roboticsurgery apparatus of claim 2, wherein the input device workspace hasdifferent extents than the surgical workspace.
 10. The robotic surgeryapparatus of claim 2, wherein the processor is further configured tocause the display to display an active constraint indication responsiveto a determination that the end effector is proximate an end of theinput device depth range.
 11. A non-transitory computer readable mediumstoring instructions that, when executed by a processor of a roboticsurgery apparatus, cause the processor to: determine a currentthree-dimensional spatial position of a surgical instrument within asurgical workspace responsive to a current position of a hand controllerof at least one input device in an input device workspace, the handcontroller configured to be moved by a user within the input deviceworkspace, the movement of the hand controller causing changes in aposition of the surgical instrument in the surgical workspace; determinean instrument depth range indicating limitations to axial movement ofthe surgical instrument into the surgical workspace; determine a currentdepth of an end effector of the surgical instrument within theinstrument depth range based on the current three-dimensional spatialposition of the surgical instrument; determine an input device depthrange representing a portion of the instrument depth range that isaccessible by the surgical instrument based on a current mapping betweenthe input device workspace and the surgical workspace, wherein the inputdevice workspace defines a limited range of the instrument depth rangebeing accessible by the surgical instrument; and cause a display todisplay a graphical depiction of the surgical workspace, the graphicaldepiction including the instrument depth range, an indicatorrepresenting the current depth of the end effector within the instrumentdepth range, and the input device depth range.
 12. The medium of claim11, wherein the graphical depiction illustrates the instrument depthrange as a vertical bar and the input device depth range as a region ofa different color on the vertical bar.
 13. The medium of claim 11,wherein the graphical depiction illustrates the indicator representingthe current depth of the end effector within the instrument depth rangeas a dot.
 14. The medium of claim 11, wherein: the at least one inputdevice comprises: a first input device including a first hand controllerconfigured to be moved by the user within a first input deviceworkspace, the movement of the first hand controller causing changes ina position of a first surgical instrument in the surgical workspace; anda second input device including a second hand controller configured tobe moved by the user within a second input device workspace, themovement of the second hand controller causing changes in a position ofa second surgical instrument in the surgical workspace; and theinstructions further cause the processor to: determine a first currentthree-dimensional spatial position of the first surgical instrumentwithin the surgical workspace responsive to a current position of thefirst hand controller in the first input device workspace; determine asecond current three-dimensional spatial position of the second surgicalinstrument within the surgical workspace responsive to a currentposition of the second hand controller in the second input deviceworkspace; determine a first instrument depth range indicatinglimitations to axial movement of the first surgical instrument into thesurgical workspace; determine a second instrument depth range indicatinglimitations to axial movement of the second surgical instrument into thesurgical workspace; determine a first current depth of a first endeffector of the first surgical instrument within the first instrumentdepth range based on the first current three-dimensional spatialposition of the first surgical instrument; determine a second currentdepth of a second end effector of the second surgical instrument withinthe second instrument depth range based on the second currentthree-dimensional spatial position of the second surgical instrument;determine a first input device depth range representing a portion of thefirst instrument depth range that is accessible by the first surgicalinstrument based on a current mapping between the first input deviceworkspace and the surgical workspace, wherein the first input deviceworkspace defines a limited range of the first instrument depth rangebeing accessible by the first surgical instrument; determine a secondinput device depth range representing a portion of the second instrumentdepth range that is accessible by the second surgical instrument basedon a current mapping between the second input device workspace and thesurgical workspace, wherein the second input device workspace defines alimited range of the second instrument depth range being accessible bythe second surgical instrument; and cause the display to display thegraphical depiction of the surgical workspace, the graphical depictioncomprising the first and second instrument depth ranges, a firstindicator representing the first current depth of the first end effectorwithin the first instrument depth range, a second indicator representingthe second current depth of the second end effector within the secondinstrument depth range, and the first and second input device depthranges.
 15. The medium of claim 14, wherein the graphical depictionillustrates the first instrument depth range, the first indicator, andthe first input device depth range on a first side of the display andthe second instrument depth range, the second indicator, and the secondinput device depth range as depicted on a second side of the displayopposite the first side of the display.
 16. The medium of claim 14,wherein: the graphical depiction illustrates the first instrument depthrange as a first vertical bar and the first input device depth range asa region of a different color on the first vertical bar; and thegraphical depiction illustrates the second instrument depth range as asecond vertical bar and the second input device depth range as a regionof a different color on the second vertical bar.
 17. The medium of claim14, wherein: the graphical depiction illustrates the first indicatorrepresenting the first current depth of the first end effector withinthe first instrument depth range as a first dot; and the graphicaldepiction illustrates the second indicator representing the secondcurrent depth of the second end effector within the second instrumentdepth range as a second dot.
 18. The medium of claim 11, wherein theinput device workspace has different extents than the surgicalworkspace.
 19. The medium of claim 11, wherein the instructions furthercause the processor to cause the display to display an active constraintindication responsive to a determination that the end effector isproximate an end of the input device depth range.
 20. A method ofoperating a robotic surgery apparatus, the method comprising, by aprocessor of the robotic surgery apparatus: determining a currentthree-dimensional spatial position of a surgical instrument within asurgical workspace responsive to a current position of a hand controllerin an input device workspace, wherein the hand controller is configuredto be moved by a user within the input device workspace, and wherein themovement of the hand controller causes changes in a position of thesurgical instrument in the surgical workspace; determining an instrumentdepth range indicating limitations to axial movement of the surgicalinstrument into the surgical workspace; determining a current depth ofan end effector of the surgical instrument within the instrument depthrange based on the current three-dimensional spatial position of thesurgical instrument; determining an input device depth rangerepresenting a portion of the instrument depth range that is accessibleby the surgical instrument based on a current mapping between the inputdevice workspace and the surgical workspace, wherein the input deviceworkspace defines a limited range of the instrument depth range beingaccessible by the surgical instrument; and causing display of agraphical depiction of the surgical workspace on a display, thegraphical depiction including the instrument depth range, an indicatorrepresenting the current depth of the end effector within the instrumentdepth range, and the input device depth range.